﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using vudu.ClasesDominio;
using vudu.Datos.Fachada;

namespace vudu.Logica.Clases
{
    public class ControladorEscuela 
    {
        private Escuela _escuela;
        public EnlaceDatos miEnlace = new EnlaceDatos(); 


        public ControladorEscuela()
        {
            _escuela = new Escuela();
        }

        
       
        public Escuela laEscuela
        {
            get { return _escuela; }
            set { _escuela = value; }
        }

        #region GRUPO 9 - Metodos de Gestionar Escuela

        public int AgregarEscuela(Escuela nuevaEscuela, String universidad)
        {
            return new EnlaceDatos().AgregarEscuela(nuevaEscuela,universidad);
        }
        //consulto la lista de escuelas de una universidad
        public List<Escuela> ConsultarEscuelas(String universidad)
        {

            return new EnlaceDatos().ConsultarEscuela(universidad);
        }
        //Elimino escuela
        public bool EliminarEscuela(int idEscuela)
        {
            //hago la validacion de si la escuela no tiene pensum activo ni materias activas se elimina y retorna true
            if (new EnlaceDatos().ConsultarIdPensumActivos("ACTIVADO", idEscuela).Count == 0 && new EnlaceDatos().ConsultarIdMateriasActivas("Activo", idEscuela).Count == 0)
            {
                return new EnlaceDatos().EliminarEscuela(idEscuela);
            }// de lo contrario retorna false
            else { return false; }
        }

        public int ModificarEscuela(Escuela nuevaEscuela, String universidad)
        {
            return new EnlaceDatos().ModificarEscuela(nuevaEscuela, universidad);
        }

        
        #endregion

        #region GRUPO 3 - MetodoParaConsultarEscuelasDeMiMismaUniversidad

        public List<Escuela> ConsultarEscuelasVecinas(int idEscuela)
        {
            return new EnlaceDatos().ConsultarEscuelasVecinas(idEscuela);
        }
        #endregion

        #region GRUPO 4 - METODOS DE HERENCIA DE LA CLASE ROL PARA EL REGISTRO
        /*public override bool VerificarCorreo(string correo)
        {
            EnlaceDatos miEnlace = new EnlaceDatos();

            return (miEnlace.validarCorreoRol(correo));
        }*/

        public bool VerificarRol(int ci)
        {
         //   return (_miDB.ConsultarEstudianteRol(ci));  //Escuela
            return miEnlace.VerificarRolEstudiante(ci);
        }
        public bool VerificarCedula(int ci)
        {
            return false;
        }
        public bool RegistrarRol(Rol rolActual, int usuario)
        {

           // return (_miDB.InsertarRolEscuela(rolActual, usuario)); //RegistraEscuela
            return miEnlace.RegistrarRolEscuela(rolActual, usuario);
        }

        public List<Escuela> ConsultarEscuela(int idUniversidad)
        {
            EnlaceDatos miEnlace = new EnlaceDatos();
            List<Escuela> listaUni = miEnlace.ConsultarEscuelasCombo(idUniversidad);
            return listaUni;
            
        }

        

        #endregion


        #region Grupo 8

        public Escuela ControladorCargarUsuarioDeEscuela(int idEscuela)
        {
            return miEnlace.EnlaceComandoCargarUsuarioDeEscuela(idEscuela);

        }

        #endregion
    }
}